package com.drg.center.service;

import com.drg.center.entity.param.*;
import com.drg.center.entity.result.SysUserExtVO;
import com.drg.center.entity.result.SysUserListVO;
import com.drg.center.entity.result.SysUserVO;
import com.guaike.core.entity.result.PageEntity;
import com.guaike.core.entity.result.Result;

/**
 * @Author: zhangxilin
 * @Date: 2024/5/22
 */
public interface SysUserService {

    /**
     * 添加
     * @param param
     * @return
     */
    Result<Boolean> add(SysUserAddDTO param);

    /**
     * 编辑
     * @param param
     * @return
     */
    Result<Boolean> edit(SysUserEditDTO param);

    /**
     * 列表
     * @param param
     * @return
     */
    Result<PageEntity<SysUserListVO>> page(SysUserListDTO param);

    /**
     * 基本信息
     * @param id
     * @return
     */
    Result<SysUserVO> findById(Long id);

    /**
     * 详情
     * @param id
     * @return
     */
    Result<SysUserExtVO> detail(Long id);

    /**
     *  启用、冻结
     * @param param
     * @return
     */
    Result<Boolean> editStatus(SysUserStatusDTO param);

    /**
     * 重置密码
     * @param param
     * @return
     */
    Result<Boolean> resetPwd(SysUserPwdResetDTO param);

    /**
     * 修改密码
     * @param param
     * @return
     */
    Result<Boolean> updatePwd(SysPwdEditDTO param);

    /**
     * 修改账号手机号
     * @param param
     * @return
     */
    Result<Boolean> updateUsername(SysUsernameEditDTO param);
}
